from django.http import HttpResponse, JsonResponse, FileResponse
from django.shortcuts import render

# Create your views here.


def get_request(request):
    # 查看访问方式
    print(request.method)
    # 查看请求参数
    print(request.GET)
    # 获取请求参数
    print(request.GET.get('username'))
    # 当key同名的时候,获取所有的value并以列表形式展示
    print(request.GET.getlist('username'))

    # 获取访问路径
    print(request.path_info)

    print(request.POST)

    print(request.POST.get('username'))


    return HttpResponse('你好')

# 自定义响应头
def index(request):
     ret = HttpResponse('test_response')
     ret['msg'] = 'success'
     ret['code'] = '200'
     return  ret

# 返回json数据
def index2(request):
    data = {
        'username':'顾轩',
        'age':"22",
        'sex':'男'
    }
    # data = '3534'
    return  JsonResponse(data)

# 返回文件数据
def index3(request):

    return  FileResponse(open('manage.py','rb'))

# 获取文件数据
def index4(request):
    file = request.FILES.get('file')
    # print(file.read())
    return JsonResponse({
        'msg':"上传成功",
        'status':200
    })



#前后端不分离 HttpResponse
#前后端分离 JsonResponse

#前端给的数据   request
#后端给的数据  response



def index5(request):
    return  render(request,'demo.html')

# 模板路径查询
#1.首先会在TEMPLATE设置的路径中，按照顺序寻找
#2.如果在根目录下的templates目录下没有找到， 则会去看APP_DIRS 是否为True
#3.如果为True，则会根据注册的app按照从上往下依次寻找templates目录，如果找到模板，则直接返回,如果没有找到,则返回报错
#怎么选择？

#1.一般情况，我们用公共templates配置，

#2.编写可重复使用的app时，我们建议在app应用下创建templates目录

#页面 一般分为两种
#第一种:静态页面,也就是所谓的html,html里面的内容不会随着用户的改变而改变
#第二种:动态页面 :html里面的内容会随着用户的改变而改变  内容是由后端提供的

def index6(request):

    def func():
        return  '你好'
    data = {
            "user_data":{
            'username':'顾轩1',
            'age':'23',
            'sex':"男",
        },
        'list1':[1,2,3,4,5],
        'func':func
    }

    return  render(request,'drf21_02/demo2.html',context=data)

# 数据循环到页面
def  index7(request):
    data = {
            "user_data":[
                {
                    'username': 'GUXUAN',
                    'age': '23',
                    'sex': "男",
                },
                {
                    'username': '顾轩2',
                    'age': '24',
                    'sex': "男",
                },
                {
                    'username': '顾轩3',
                    'age': '25',
                    'sex': "男",
                },
                {
                    'username': '顾轩4',
                    'age': '26',
                    'sex': "男",
                },
            ]

    }
    return render(request,'drf21_02/demo3.html',context=data)

